const exp = require('express'),
    bodyParser = require('body-parser'),
    cookieParser = require('cookie-parser'),
    fs = require('fs'),
    template = require('art-template'),
    app = exp();

app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());

app.use(exp.static('wwwroot'));

// 注册接口
app.post('/api/v1/user/register',(req,res)=>{
    var filename = `users/${req.body.petname}.txt`;

    function sendData(code,message){
        res.status(200).json({code,message});
    }

    function saveFile(){
        fs.exists(filename,(exists)=>{
            if (exists) {
                sendData('registed error',"该用户已经注册，请直接登录！");
            }else{
                fs.appendFile(filename,JSON.stringify(req.body),(error)=>{
                    if (error) {
                        sendData('registed error',"注册失败！");
                    }else{
                        sendData('success',"注册成功");
                    }
                })
            }
        })
    }

    fs.exists('users',(exists)=>{
        if (exists) {
            saveFile();
        }else{
            fs.mkdir('users',(err)=>{
                if (err) {
                    sendData('file error',"注册失败");
                }else{
                    saveFile();
                }
            })
        }
    })
})

// 登录接口
app.post('/api/v1/user/signin',(req,res)=>{
    var filename = `users/${req.body.petname}.txt`;
    fs.exists(filename,(exists)=>{
        if (exists) {
            var user = JSON.parse(fs.readFileSync(filename).toString());
            if (req.body.password == user.password) {
                res.cookie('petname',req.body.petname);
                res.status(200).json({code:"success",message:"登录成功"});
            }else{
                res.status(200).json({code:"password error",message:"密码错误"});
            }
        }else{
            res.status(200).json({code:"file error",message:"用户未注册，请先去注册"});
        }
    })
})


app.get('/lunbo/left', (req, res) => {
    fs.readFile('./sorts.json', function (error, data) {
        if (error) {
            res.status(500).json({
                code: "error",
                message: "读取轮播左侧数据失败"
            })
        } else {
            data = data.toString();
            if (data) {
                data = JSON.parse(data);
            } else {
                data = [];
            }
            res.status(200).json({
                code: "success",
                message: "读取轮播左侧数据成功",
                result: data
            })
        }
    })
})

app.get('/menu', (req, res) => {
   var data=fs.readFileSync(`files/miaosha.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/faxianhaohuo', (req, res) => {
   var data=fs.readFileSync(`files/J_f/find.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/lingjuanzhongxin', (req, res) => {
   var data=fs.readFileSync(`files/J_f/quan.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/xunmi', (req, res) => {
   var data=fs.readFileSync(`files/J_f/fineME.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/hmzj', (req, res) => {
   var data=fs.readFileSync(`files/J_f/sup.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/xpz', (req, res) => {
   var data=fs.readFileSync(`files/entry.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/ash_sub', (req, res) => {
   var data=fs.readFileSync(`files/girdItem+.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/phb_animate', (req, res) => {
   var data=fs.readFileSync(`files/J_f/top.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.get('/hmgg_sub', (req, res) => {
   var data=fs.readFileSync(`files/moregoods.json`).toString();
       data=JSON.parse(data); 
   res.status(200).json(data);
})

app.listen(3000, () => {
    console.log("京东运行在3000端口...");
})